package com.yuetong.business.service.impl;

import java.util.List;
import com.yuetong.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yuetong.business.mapper.YtElevatorInfoMapper;
import com.yuetong.business.domain.YtElevatorInfo;
import com.yuetong.business.service.IYtElevatorInfoService;

/**
 * 电梯信息，用于存储电梯的基本信息及其所属场所Service业务层处理
 * 
 * @author  卓晓君
 * @date 2025-03-07
 */
@Service
public class YtElevatorInfoServiceImpl implements IYtElevatorInfoService 
{
    @Autowired
    private YtElevatorInfoMapper ytElevatorInfoMapper;

    /**
     * 查询电梯信息，用于存储电梯的基本信息及其所属场所
     * 
     * @param elevatorId 电梯信息，用于存储电梯的基本信息及其所属场所主键
     * @return 电梯信息，用于存储电梯的基本信息及其所属场所
     */
    @Override
    public YtElevatorInfo selectYtElevatorInfoByElevatorId(Long elevatorId)
    {
        return ytElevatorInfoMapper.selectYtElevatorInfoByElevatorId(elevatorId);
    }

    /**
     * 查询电梯信息，用于存储电梯的基本信息及其所属场所列表
     * 
     * @param ytElevatorInfo 电梯信息，用于存储电梯的基本信息及其所属场所
     * @return 电梯信息，用于存储电梯的基本信息及其所属场所
     */
    @Override
    public List<YtElevatorInfo> selectYtElevatorInfoList(YtElevatorInfo ytElevatorInfo)
    {
        return ytElevatorInfoMapper.selectYtElevatorInfoList(ytElevatorInfo);
    }

    /**
     * 新增电梯信息，用于存储电梯的基本信息及其所属场所
     * 
     * @param ytElevatorInfo 电梯信息，用于存储电梯的基本信息及其所属场所
     * @return 结果
     */
    @Override
    public int insertYtElevatorInfo(YtElevatorInfo ytElevatorInfo)
    {
        ytElevatorInfo.setCreateTime(DateUtils.getNowDate());
        return ytElevatorInfoMapper.insertYtElevatorInfo(ytElevatorInfo);
    }

    /**
     * 修改电梯信息，用于存储电梯的基本信息及其所属场所
     * 
     * @param ytElevatorInfo 电梯信息，用于存储电梯的基本信息及其所属场所
     * @return 结果
     */
    @Override
    public int updateYtElevatorInfo(YtElevatorInfo ytElevatorInfo)
    {
        ytElevatorInfo.setUpdateTime(DateUtils.getNowDate());
        return ytElevatorInfoMapper.updateYtElevatorInfo(ytElevatorInfo);
    }

    /**
     * 批量删除电梯信息，用于存储电梯的基本信息及其所属场所
     * 
     * @param elevatorIds 需要删除的电梯信息，用于存储电梯的基本信息及其所属场所主键
     * @return 结果
     */
    @Override
    public int deleteYtElevatorInfoByElevatorIds(Long[] elevatorIds)
    {
        return ytElevatorInfoMapper.deleteYtElevatorInfoByElevatorIds(elevatorIds);
    }

    /**
     * 删除电梯信息，用于存储电梯的基本信息及其所属场所信息
     * 
     * @param elevatorId 电梯信息，用于存储电梯的基本信息及其所属场所主键
     * @return 结果
     */
    @Override
    public int deleteYtElevatorInfoByElevatorId(Long elevatorId)
    {
        return ytElevatorInfoMapper.deleteYtElevatorInfoByElevatorId(elevatorId);
    }
    //电梯总数
    @Override
    public int getElevatorTotal() {
        return ytElevatorInfoMapper.selectYtElevatorInfoCount();
    }


}
